package com.hotelManager.www.serviceInterface;

import com.hotelManager.www.po.Shop;
import com.hotelManager.www.po.User;

import java.util.List;

/**
 * 店铺服务接口
 */
public interface ShopServiceInterface extends BaseService<Shop> {
    /**
     * 注册店铺
     * @param shop 店铺信息
     * @param user 用户信息
     * @return 是否注册成功
     */
    boolean registerShop(Shop shop, User user);

    /**
     * 获取所有已审核通过的店铺
     * @return 店铺列表
     */
    List<Shop> getAllApprovedShops();

    /**
     * 按销量排序获取店铺
     * @return 店铺列表
     */
    List<Shop> getShopsBySalesVolume();

    /**
     * 按发布时间排序获取店铺
     * @return 店铺列表
     */
    List<Shop> getShopsByTime();

    /**
     * 根据关键词搜索店铺
     * @param keyword 关键词
     * @return 店铺列表
     */
    List<Shop> searchShops(String keyword);

    /**
     * 更新店铺销量
     * @param shopId 店铺ID
     * @param count 销量增量
     * @return 是否更新成功
     */
    boolean updateShopSales(Integer shopId, Integer count);

    /**
     * 更新店铺状态
     * @param shopId 店铺ID
     * @param status 状态
     * @return 是否更新成功
     */
    boolean updateShopStatus(Integer shopId, String status);

    /**
     * 获取待审核的店铺
     * @return 店铺列表
     */
    List<Shop> getPendingShops();

    /**
     * 更新店铺审核状态
     * @param shopId 店铺ID
     * @param auditStatus 审核状态
     * @return 是否更新成功
     */
    boolean updateShopAuditStatus(Integer shopId, String auditStatus);

    /**
     * 根据用户名获取店铺
     * @param username 用户名
     * @return 店铺对象
     */
    Shop getShopByUsername(String username);
} 